package cn.ffcs.uec.staff.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import cn.ffcs.uec.common.vo.UecBdDefdoc;
import cn.ffcs.uom.common.model.DefaultDaoFactory;
import cn.ffcs.uom.common.model.UomEntity;
import lombok.Getter;
import lombok.Setter;

/**
 * @Title:专业人才队伍实体类
 * @Description:
 * @Copyright: FFCS（C） 2017
 * @Company: FFCS
 * @author Wang Yiren
 * @Version 0.0.1 date:2017年12月10日
 * @since JDK1.6
 */
public class UecTalentTeam extends UomEntity implements Serializable {

	private static final long serialVersionUID = -6450935983888090650L;

	/**
	 * 专业人才标识
	 */
	public Long getTalentTeamId() {
		return super.getId();
	}

	public void setTalentTeamId(Long talentTeamId) {
		super.setId(talentTeamId);
	}

	/**
	 * 人员标识
	 */
	@Getter
	@Setter
	private Long staffId;
	/**
	 * 员工类型 =1：合同制、派遣制 =2：外包自有、其他
	 */
	@Getter
	@Setter
	private String nmStaffType;
	/**
	 * 帐期
	 */
	@Getter
	@Setter
	private Long monthId;
	/**
	 * 主键
	 */
	@Getter
	@Setter
	private String pkPsndocSub;
	/**
	 * 创建人
	 */
	@Getter
	@Setter
	private String creator;
	/**
	 * 结束日期
	 */
	@Getter
	@Setter
	private String enddate;
	/**
	 * 专业人才名称
	 */
	@Getter
	@Setter
	private String glbdef1;
	/**
	 * 专业人才等级
	 */
	@Getter
	@Setter
	private String glbdef2;
	/**
	 * 专业工作年度考核结果
	 */
	@Getter
	@Setter
	private String glbdef3;
	/**
	 * 专家津贴金额
	 */
	@Getter
	@Setter
	private String glbdef4;
	/**
	 * 特殊年金金额
	 */
	@Getter
	@Setter
	private String glbdef5;
	/**
	 * 股票增值权
	 */
	@Getter
	@Setter
	private String glbdef6;
	/**
	 * 最近记录标志
	 */
	@Getter
	@Setter
	private String lastflag;
	/**
	 * 修改时间
	 */
	@Getter
	@Setter
	private String modifiedtime;
	/**
	 * 修改人
	 */
	@Getter
	@Setter
	private String modifier;
	/**
	 * 开始日期
	 */
	@Getter
	@Setter
	private String begindate;
	/**
	 * 人员基本信息
	 */
	@Getter
	@Setter
	private String pkPsndoc;
	/**
	 * 创建时间
	 */
	@Getter
	@Setter
	private String creationtime;
	/**
	 * 时间戳
	 */
	@Getter
	@Setter
	private String ts;
	/**
	 * 删除标示
	 */
	@Getter
	@Setter
	private Long dr;
	/**
	 * 人才类型
	 */
	@Getter
	@Setter
	private String glbdef10;
	/**
	 * 第一年考核
	 */
	@Getter
	@Setter
	private String glbdef11;
	/**
	 * 第二年考核
	 */
	@Getter
	@Setter
	private String glbdef12;
	/**
	 * 聘任状态
	 */
	@Getter
	@Setter
	private String glbdef13;
	/**
	 * 退出时间
	 */
	@Getter
	@Setter
	private String glbdef14;
	/**
	 * 退出原因
	 */
	@Getter
	@Setter
	private String glbdef15;
	/**
	 * 子专业
	 */
	@Getter
	@Setter
	private String glbdef9;
	/**
	 * 是否生效
	 */
	@Getter
	@Setter
	private String glbdef8;

	public static UecTalentTeam newInstance() {
		return new UecTalentTeam();
	}

	/**
	 * 专业人才名称
	 * @return
	 */
	public String getGlbdef1Name() {
		if (null != this.glbdef1) {
			String sqlString = " SELECT * FROM UEC_BD_DEFDOC T WHERE T.PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.glbdef1);
			List<UecBdDefdoc> bdDefdocs = DefaultDaoFactory.getDefaultDao()
					.jdbcFindList(sqlString, params, UecBdDefdoc.class);
			if(null != bdDefdocs && bdDefdocs.size() > 0) {
				return bdDefdocs.get(0).getName();
			}
		}
		return null;
	}
	
	/**
	 * 专业人才等级 名称
	 * @return
	 */
	public String getGlbdef2Name() {
		if (null != this.glbdef2) {
			String sqlString = " SELECT * FROM UEC_BD_DEFDOC T WHERE T.PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.glbdef2);
			List<UecBdDefdoc> bdDefdocs = DefaultDaoFactory.getDefaultDao()
					.jdbcFindList(sqlString, params, UecBdDefdoc.class);
			if(null != bdDefdocs && bdDefdocs.size() > 0) {
				return bdDefdocs.get(0).getName();
			}
		}
		return null;
	}
	
	/**
	 * 专业工作年度考核结果 名称
	 * @return
	 */
	public String getGlbdef3Name() {
		if (null != this.glbdef3) {
			String sqlString = " SELECT * FROM UEC_BD_DEFDOC T WHERE T.PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.glbdef3);
			List<UecBdDefdoc> bdDefdocs = DefaultDaoFactory.getDefaultDao()
					.jdbcFindList(sqlString, params, UecBdDefdoc.class);
			if(null != bdDefdocs && bdDefdocs.size() > 0) {
				return bdDefdocs.get(0).getName();
			}
		}
		return null;
	}
	
	/**
	 * 聘任状态
	 */
	public String getGlbdef13Name() {
		if (null != this.glbdef13) {
			String sqlString = " SELECT * FROM UEC_BD_DEFDOC T WHERE T.PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.glbdef13);
			List<UecBdDefdoc> bdDefdocs = DefaultDaoFactory.getDefaultDao()
					.jdbcFindList(sqlString, params, UecBdDefdoc.class);
			if(null != bdDefdocs && bdDefdocs.size() > 0) {
				return bdDefdocs.get(0).getName();
			}
		
		}
		return glbdef13;
	}
	
	/**
	 * 人才类型
	 * @return
	 */
	public String getGlbdef10Name() {
		if("1".equals(this.glbdef10)) {
			return "实操";
		}
		if("2".equals(this.glbdef10)) {
			return "非实操";
		}
		return null;
	}
	
	/**
	 * 子专业 名称
	 * @return
	 */
	public String getGlbdef9Name() {
		if (null != this.glbdef9) {
			String sqlString = " SELECT * FROM UEC_BD_DEFDOC T WHERE T.PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.glbdef9);
			List<UecBdDefdoc> bdDefdocs = DefaultDaoFactory.getDefaultDao()
					.jdbcFindList(sqlString, params, UecBdDefdoc.class);
			if(null != bdDefdocs && bdDefdocs.size() > 0) {
				return bdDefdocs.get(0).getName();
			}
		}
		return null;
	}
	
	/**
	 * 是否生效 名称
	 * @return
	 */
	public String getGlbdef8Name() {
		if("Y".equals(this.glbdef8)) {
			return "是";
		}
		if("N".equals(this.glbdef8)) {
			return "否";
		}
		return null;
	}
	
	/**
	 * 删除标识 名称
	 * @return
	 */
	public String getDrName() {
		if(null != this.dr) {
			return this.dr == 0L?"否":"是";
		}
		return null;
	}
	
	/**
	 * 最近记录标识 名称
	 * @return
	 */
	public String getLastflagName() {
		if ("Y".equals(this.getLastflag())) {
			return "是";
		}else {
			return "否";
		}
		
	}

}
